package com.ruge.test.commons.dbutils;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.junit.BeforeClass;
import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Map;

/**
 * 爱丽丝、如歌  创建于 2018/6/15 20:14
 * 说明: DbUtils 删除测试
 * DbUtils类(org.apache.commons.dbutils.DbUtils)主要负责装载驱动、关闭连接的常规工作。
 * 1.       close: 检查所提供的参数是不是NULL，如果不是的话，它们就关闭连接、声明和结果集。
 * 2.       CloseQuietly:避免连接、声明或结果集为NULL的情况被关闭。
 * 3.       CommitAndCloseQuietly(Connection conn)：用来提交连接，然后关闭连接，并且在关闭连接时不向上抛出在关闭时发生的一些SQL异常。
 * 4.       LoadDriver(String driveClassName): 装载并注册JDBC驱动程序，如果成功就返回TRUE。
 */
public class Delete {
	/**
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	@Test
	public void test1() throws ClassNotFoundException, SQLException {
		Class.forName("com.mysql.cj.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ruge_security?serverTimezone=UTC", "root", "root");
		conn.setAutoCommit(false);
		QueryRunner runner = new QueryRunner();
		int update = runner.update(conn, "delete from sys_user  where user_id = ?", 4);
		DbUtils.commitAndClose(conn);
	}
}
